Web Components
再利用性が高く、カプセル化された独自のHTMLタグを作るための仕組み
4つのAPI群によって構成される
Mozilla的にはES ModulesはWeb Componentsとは関係ないもののようだ Web Components は、3 つの主要な技術からなり、それらを組み合わせて、多目的なカスタム要素を作成します。
登場からだいぶ時間は掛かったようだが、大体のブラウザで実装されてる
使いどころ
まだ少ししか使ってないから想像
ただの静的なページでもメニューとか使い回したいパーツはあって、そういうところに使ったら便利なんじゃないかと想像してる
というか、実際そういうところに使ったのだが
ちょっとした共通のレイアウトとかパーツのためにビルドツールのことを考えるのはつらい
使い回せるかどうかはそんなに重要じゃない気がしてきた
例えば一箇所にしか使わないようなボタンもコンポーネント化して良い
コード分割とかによって得られる恩恵がある
イベントハンドラの登録やら、各種処理やらがコンポーネント内にあることで見通しが良くなる
ES Modulesもあるから、かつてよりもファイル分割がはるかにやりやすい
そういう意味で、コンポーネントをプリミティブに、小さくしなくても良いかもしれない
ある程度大きい単位でごそっと一つのコンポーネントにしてしまっても全然良い
ライブラリ化するとかならまた違うだろうが